package com.bestcem.xm.user.controller.vo.group;

import com.bestcem.xm.common.core.constant.RegTypes;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;

/**
 * 恢复失效组织VO
 *
 * @author wangyunyun <yunyun.wang@idiaoyan.com>
 * @date 2022/1/28 13:50
 */
@Getter
@Setter
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public class UserGroupResumeVO {

    /**
     * 组织id
     */
    //@NotBlank(dto = "组织id不能为空")
    @Pattern(regexp = RegTypes.OBJECT_ID, message = "组织id格式错误")
    private String groupId;

    /**
     * 层级ID
     */
    @NotBlank(message = "层级id不能为空")
    @JsonProperty("groupLevelID")
    @Pattern(regexp = RegTypes.OBJECT_ID, message = "层级id格式错误")
    private String groupLevelId;

    /**
     * 父组ID
     */
    @JsonProperty("parentID")
    @NotBlank(message = "父组id不能为空")
    @Pattern(regexp = RegTypes.OBJECT_ID, message = "父组id格式错误")
    private String groupParentId;

    /**
     * 版本
     */
    //@NotNull(dto = "版本号不能为空")
    private Integer version;

    /**
     * 公司id
     */
    private String orgId;

    /**
     * 更新用户id
     */
    protected String operatorId;

}
